웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > sql

[SQL] 데이터베이스 set 연산자 union

Last Modified : 2016-01-29 / Created : 2014-12-23
4,174
View Count
SET연산자 중 하나인 union을 사용하면 두개 또는 그 이상의 테이블 결과를 합쳐서 나타낼 수 있습니다. 테이블을 합치는 union은 동일한 컬럼의 테이블 값을 찾는 조인(join) 구문과는 다른 점 유의하시기 바랍니다.

UNION을 사용해 테이블을 합칠 경우 주의할 사항은 아래와 같습니다.

사용할 컬럼의 수는 동일할 것
ORDER BY를 사용해 정렬이 필요한 경우 맨 아래에 위치한 SELECT문에만 사용할 것
중복된 값이 있는 경우 하나의 결과(distinct)만 가져옴


# JOIN 구문 예제소스 보기

SELECT *
FROM sort
WHERE name='apple'
UNION
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10


위 예제소스는 sort 테이블tag 테이블의 컬럼 name에 apple이란 값이 있는 경우 이를 찾아서 보여주는 예제소스입니다. 위에 언급된 것 처럼 중복된 값은 제외하고 하나만 보여줍니다.

! 참고로 만약에 다수의 테이블에서 중복된 값을 보기 원한다면 UNION 대신 UNION ALL을 사용합니다. 위의 예제는 아래와 같이 변경할 수 있습니다.

* 중복 결과도 포함하는 경우

SELECT *
FROM sort
WHERE name='apple'
UNION ALL
SELECT *
FROM tag
WHERE name='apple'
LIMIT 10



Previous

[SQL] 테이블 안의 컬럼 값 변경, 수정, UPDATE

Previous

[SQL] 한글 초성, 자음 검색기능 구현하기